@fromis_9 Controls usually provide a signal to indicate that a change has come from a user interaction signal, you should use this one instead of the "raw" <property>Changed signal that will fire both on backend and frontend changes.
For CheckBox it is the toggled signal, for ComboBox activated, for TextField textEdited, ...
So in your case it would be:
CheckBox {
id: qmlCheckBox
checked: backend.myCheck
onToggled: backend.myCheck = checked
}
Make sure to also not emit the notify signal in the setter if the property doesn't actually changed, generally done with an if at the start:
void Backend::SetMyCheck(bool myCheck)
{
if (myCheck == m_myCheck)
return;
m_myCheck = myCheck;
emit myCheckChanged();
}